package com.example.springboot.controller;

import com.example.springboot.entry.XiaoGang;
import org.springframework.core.io.FileSystemResource;
import org.springframework.core.io.Resource;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import java.util.HashMap;
import java.util.Map;

/**
 * @author by Mr. Li 2021/1/29 21:41
 */
@RestController
public class HelloController {
    @GetMapping("/hello")
    public String hello() {
        return "ok";
    }

    /**
     * 测试 表单的隐藏域 _method 字段的自定义请求类型
     *
     * @return
     */
    @PostMapping("/requestTest")
    public String requestTest() {
        return "ok";
    }

    @RequestMapping("/requestTest")
    public String requestTest1() {
        return "RequestMapping Is Ok";
    }

    /**
     * Resource 接口的实现类
     * 前提是 返回json数据
     * 整个请求的逻辑就是
     * 先确定内容类型 application/json---> 再确定 消息转换器 为：MappingJackson2HttpMessageConverter ---> 消息转换器再最后确定写出的类型
     * 看是否为 Resource类型的转换器
     *
     * @return
     */
    @GetMapping("/file")
    public FileSystemResource file() {
        return null;
    }


    @GetMapping("/json")
    public Map<String, String> json() {
        Map<String, String> map = new HashMap();
        map.put("hello", "world");

        return map;
    }

    @GetMapping("/xiaogang")
    public XiaoGang xiaoGang(XiaoGang xiaoGang) {
        return xiaoGang;
    }
}
